﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

using LINQToolKit.Mapping;

namespace LINQToolKit
{
    public interface IEntityProvider : IQueryProvider, IDisposable
    {
        IEnumerable Select(Type entityType, Uri source);

        object SelectOne(Type entityType, Uri source);

        RequestResult Delete(Type entityType, Uri source);

        RequestResult Insert(Uri source, object entity);

        RequestResult Update(Uri source, object entity);

        TextWriter Log { get; set; }
    }
}
